System and method for detecting the removal of a controlling device

ABSTRACT

A system and method for using a controllable appliance to report an inoperable state of a controlling device. The appliance is caused to repeatedly determine, at a first predetermined timed interval, if a wireless notification signal, repeatedly transmitted by the controlling device at a second predetermined timed interval, has been received from the controlling device. When the wireless notification signal has not been received from the controlling device within the first predetermined timed interval, the appliance is caused to issue a status notification that the controlling device is in an inoperable state.

RELATED APPLICATION INFORMATION

This application claims the benefit of and is a continuation of U.S.application Ser. No. 15/431, 930, filed on Feb. 14, 2017, whichapplication claims the benefit of and is a continuation of U.S.application Ser. No. 13/460,267, filed on Apr. 30, 2012, whichapplications are incorporated herein by reference in their entirety.

BACKGROUND

Controlling devices, for example remote controls, for use in issuingcommands to entertainment and other appliances, and the features andfunctionality provided by such controlling devices are well known in theart. Such controlling devices may be universal, that is, capable ofcontrolling multiple appliance types of different manufacture; unified,that is, capable of controlling multiple appliance types of the samemanufacture; or dedicated, that is, capable only of controlling a singleappliance of a specific manufacture. Descriptions of such controllingdevices may be found, for example, in U.S. Pat. Nos. 4,959,810,5,455,570, 7,046,185, or 7,154,428. The majority of such devices arehand held and battery powered, i.e., portable.

In the hospitality industry, such controlling devices are commonlyfurnished as standard guest room equipment to allow convenient operationof entertainment or other appliances present in the room or suite.However, some segments of the industry may experience an unacceptablyhigh attrition rate, i.e., frequent misplacement or removal of thecontrolling device from a room by a departing guest.

SUMMARY OF THE INVENTION

This invention relates generally to controlling devices, and moreparticularly to systems and methods for detecting the removal of acontrolling device from a specific area. In an exemplary embodimentpresented herein, such an area may comprise the general vicinity of aparticular hotel room TV service decoder set top box (STB) with whichthe controlling device has been paired. To this end, the controllingdevice may be adapted to periodically transmit a status signal to thedecoder box. In the event the decoder box fails to receive a controllingdevice status report within an acceptable period of time, the decoderbox may communicate this fact to the facility's central distributionserver, resulting in the generation of an alert message to the frontdesk or other designated location.

In some embodiments, the periodic status message transmitted by thecontrolling device may comprise an indication of battery level,performance metrics, or error conditions which may be further utilizedat the central distribution server to create alerts to hotel maintenancestaff in the event servicing of the controlling device is required.

A better understanding of the objects, advantages, features, propertiesand relationships of the invention will be obtained from the followingdetailed description and accompanying drawings which set forthillustrative embodiments and which are indicative of the various ways inwhich the principles of the invention may be employed.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the various aspects of the invention,reference may be had to preferred embodiments shown in the attacheddrawings in which:

FIG. 1 illustrates an exemplary system in which an exemplary controllingdevice according to the instant invention may be used;

FIG. 2 illustrates a block diagram of exemplary components of thecontrolling device of FIG. 1;

FIG. 3 illustrates a block diagram of exemplary components of the TVservice decoder STB device of FIG. 1;

FIG. 4 illustrates in flowchart form an exemplary method by which acontrolling device may provide periodic status reports to an associatedTV service decoder box; and

FIG. 5 illustrates in flowchart form an exemplary method by which a TVservice decoder box may monitor and interpret status reports from anassociated controlling device.

DETAILED DESCRIPTION

Turning now to FIG. 1, there is illustrated an exemplary system in whicha controlling device 100 is configured to control various controllableappliances, such as a television 102 and a TV service decoder set topbox (STB) 104. As is known in the art, the controlling device 100 iscapable of transmitting commands to the appliances, using any convenientIR, RF, Point-to-Point, or networked protocol 106, to cause theappliances to perform operational functions. While illustrated in thecontext of a television 102 and STB 104, it is to be understood thatcontrollable appliances may include, but need not be limited to,televisions, wired or wireless converter set-top boxes (“STBs”), DVDplayers, audio systems game consoles, lighting, drapery, fans, HVACsystems, thermostats, etc.

In the illustrative system, STB 104 serves as TV service decoder box ina hospitality environment, for example by receiving and decoding anon-demand digital media stream from an in-house network 108 andoutputting the decoded signal via a suitable interface 118 to TV set102. The exemplary media stream may originate from a media server orhead end 110.

With reference to FIG. 2, for use in commanding the functionaloperations of one or more appliances, the controlling device 100 mayinclude, as needed for a particular application, a processor 200 coupledto a ROM memory 204, a RAM memory 205, a key matrix 216 (e.g., hardkeys, soft keys such as a touch sensitive surface overlaid on a liquidcrystal (LCD), and/or an electroluminescent (EL) display), transmissioncircuit(s) and/or transceiver circuit(s) 210 (e.g., IR and/or RF), anon-volatile read/write memory 206, a means 202 to provide feedback tothe user (e.g., one or more LEDs, illuminable keys, display, speaker,and/or the like), an input/output port 218 such as a serial interface,USB port, modem, Zigbee, WiFi , or Bluetooth transceiver, etc., a powersource 220 such as a battery, and clock and timer logic 212 withassociated crystal or resonator 214 and a low power timing device 222such as, for example, a nanopower ring oscillator as may be found in theMAXQ610 microprocessor available from Maxim Integrated Products, Inc.

As will be understood by those skilled in the art, some or all of thenon-transitory memories 204, 206 may include executable instructionsthat are intended to be executed by the processor 200 to control theoperation of the controlling device 100 (collectively, the programmemory), as well as data which serves to define the necessary controlprotocols and command values for use in transmitting command signals tocontrollable appliances (collectively, the command data). In thismanner, the processor 200 may be programmed to control the variouselectronic components within the controlling device 100, e.g., tomonitor the key matrix 216, to cause the transmission of signals, etc.The non-volatile read/write memory 206, for example an EEPROM,battery-backed up RAM, FLASH, Smart Card, memory stick, or the like, mayadditionally be provided to store setup data and parameters asnecessary. While the memory 204 is illustrated and described as a ROMmemory, memory 204 can also be comprised of any type of readable media,such as ROM, FLASH, EEPROM, or the like. Preferably, the memories 204and 206 are non-volatile or battery-backed such that data is notrequired to be reloaded after battery changes. In addition, the memories204, 205 and 206 may take the form of a chip, a hard disk, a magneticdisk, an optical disk, and/or the like. Still further, it will beappreciated that some or all of the illustrated memory devices may bephysically combined (for example, a single FLASH memory may be logicallypartitioned into different portions to support the functionality ofmemories 204 and 206 respectively), and/or may be physicallyincorporated within the same IC chip as the microprocessor 200 (a socalled “microcontroller”) and, as such, they are shown separately inFIG. 2 only for the sake of clarity.

To cause the controlling device 100 to perform an action, thecontrolling device 100 may be adapted to be responsive to events, suchas a sensed user interaction with the key matrix 216, expiry of a timer,etc. In response to an event, appropriate instructions within theprogram memory (hereafter the “controlling device operating program”)may be executed. For example, when a command function key is actuated onthe controlling device 100, the controlling device 100 may retrieve fromthe command data stored in memory 204, 205, 206 a command value andcontrol protocol corresponding to the actuated function key and, wherenecessary, current device mode and transmit that command to an intendedtarget appliance, e.g. TV service decoder STB 104, in a formatrecognizable by that appliance to thereby control one or more functionaloperations of that appliance. It will be appreciated that thecontrolling device operating program can be used not only to cause thetransmission of commands and/or data to the appliances, but also toperform local operations. While not limiting, local operations that maybe performed by the controlling device 100 may include displayinginformation/data, favorite channel access, macro keys, function keyreassignment, etc. Examples of local operations can be found in U.S.Pat. Nos. 5,481,256, 5,959,751, and 6,014,092.

In some embodiments, controlling device 100 may be of the universaltype, that is provisioned with a library comprising a multiplicity ofcommand codes and protocols suitable for controlling various appliances.In such cases, for selecting sets of command data to be associated withthe specific appliances to be controlled data may be provided to thecontrolling device 100 that serves to identify each intended targetappliance by its make, and/or model, and/or type. The data may beentered via activation of those keys that are also used to cause thetransmission of commands to an appliance; may be loaded into controllingdevice via input/output means 218; may be configured using internalswitches or jumpers; etc., as appropriate for a particular embodiment.Such data may be utilized by the controlling device operating program toidentify the appropriate command data set within the library of commanddata that is to be used to transmit recognizable commands in formatsappropriate for such identified appliances. The library of command datamay represent a plurality of controllable appliances of different typesand manufacture, a plurality of controllable appliances of the same typebut different manufacture, a plurality of appliances of the samemanufacture but different type or model, etc., or any combinationthereof as appropriate for a given embodiment. Since such methods forsetting up a controlling device to command the operation of specifichome appliances are well-known, these will not be described in greaterdetail herein. Nevertheless, for additional information pertaining tosetup procedures, the reader may turn, for example, to U.S. Patent Nos.4,959,810, 5,614,906, or 6,225,938 or to pending U.S. patent applicationSer. No. 11/515,962, all of like assignee and incorporated herein byreference in their entirety.

As is known in the art, microcontroller 200 may be placed into aquiescent or “stop” mode by the controlling device operating software.When in such a state, the current drawn from power source 220 may besubstantially reduced. By way of example, the aforementioned MAXQ610microcontroller may draw a nominal 3.75 mA when active (running at afull clock speed of 12 MHz, as determined by crystal 214) but only 0.2μA when in stop mode, i.e., power consumption is reduced by a factor ofalmost 20,000 when the microcontroller is placed into stop mode.Resumption of processor activity from such a stop mode may be triggeredby an external event such as for example user actuation of key matrix216, a change in state of input/output port 218, etc., and in the caseof the exemplary MAXQ610 and similar microcontrollers also by aninternal event initiated by a low-speed, low-power, interval timer 222which may be configured to continue running while the mainmicrocontroller CPU is in stop mode. Such low-power interval timerstypically operate at a much lower speed than the primary microprocessorclock, via a secondary crystal or resonator or, as in the case of theexemplary MAXQ610, an internal ring oscillator. By way of example, theMAXQ610 internal “nanopower” ring oscillator operates at a nominal 8 KHz(as contrasted to the primary clock rate of 12 MHz) and consumes only anominal 40 nA.

As required by a particular microcontroller application, such low-powerinterval timers may be used to maintain a time-of-day clock; to enablereduced energy consumption during transmission of appliance commands bya controlling device as described in co-pending U.S. patent applicationSer. No. 13/028,664; to implement a keypad backlight time-out, etc.; oras disclosed hereafter in an exemplary embodiment of the instantinvention to provide wake-up signals for the purpose of issuing periodicstatus reports to an associated set top box.

Turning now to FIG. 3, an exemplary hospitality industry TV servicedecoder, STB 104, may include, as needed for a particular application, aprocessor 300 coupled to a memory 302 which may comprise RAM, ROM,and/or Flash memory; a power supply 304; distribution network interface306 for coupling TV service decoder STB 104 to an in-house mediadistribution network, for example 108 as illustrated in FIG. 1; a remotecontrol receiver or transceiver 306 for reception of signal from acontrolling device, for example 100 as illustrated in FIG. 1; a digitalaudio/video output interface 310 such as an HDMI port; and optionalanalog video and audio outputs 312, 314. As will be appreciated, in someembodiments such as for example a TV set expressly intended fordeployment in the hospitality industry, the above described TV servicedecoder components and functionality may be integrated into the TVitself. Accordingly the description of this functionality as embodied ina physically separate STB 104 is provided herein by way of illustrationonly, and is not intended to be limiting.

As is known in the art, programming instructions may be stored in anon-transitory readable memory 302 (“STB programming”) which whenexecuted by processor 400 may enable the STB appliance 104 to receiveand decode digital media and data streams from distribution network 118and to output the received media content to one or more of output ports310,312,314; to receive, decode, and act upon user commands receivedfrom controlling device 100; to display program guide information,listings of available content, or setup and configuration menus at userrequest and act upon any resulting user input; etc.

With reference to FIG. 4, the steps performed by the operating programof an exemplary controlling device 100 in accordance with the teachingsof this invention, upon awakening of microcontroller 200 from aquiescent or “stop” state at step 400 may comprise: First, at step 402the controlling device operating program may determine if the eventwhich triggered awakening of the microcontroller was activation of afunction key by a user, i.e., a “key wake up” event as well known in theart. If so, the desired operation, e.g., transmitting a command to oneof appliances 102 or 104, may be performed at step 406. At step 408, ifthe requested operation was determined to be successfully completed,processing continues, else if not, an error status is logged for futurereporting to central server 110. To this end, if the controlling device100 is adapted for two-way communication with an appliance, theappliance can report back to the controlling device that a command orother communication was successfully received and/or acted upon.Similarly, the controlling device may be adapted to monitor itself todetermine if a communication was transmitted and/or if an actionrequested of the controlling device was performed by the controllingdevice. Thereafter, at step 424 an idle timer is started, for example byinitializing a count-down timer associated with a nanopower ringoscillator as may be found in the above referenced Maxim MAXQ610, andthe microcontroller returned to the stop state. As will become apparent,the objective of this timer is to ensure that during periods ofinactivity TV service decoder STB 104 will receive at least a periodicstatus message transmission from the controlling device to indicate thatcontrolling device is still present in the local environment. In orderto conserve battery energy, the duration of this timer may be selectedto be relatively long, in a preferred embodiment of the order ofminutes, though the exact duration of this timeout is not criticalprovided it is proportionate to the corresponding timeout value utilizedin the associated TV decoder SRB 104, as described hereafter inconjunction with FIG. 5. As is known in the art, when such longerperiods are not within the low power timer capability of themicrocontroller of a particular embodiment, multiple intermediatetimeouts may utilized in a countdown algorithm.

If the triggering event was not a function key activation, at step 404the controlling device operating program may next determine if thetriggering event was expiry of the idle timer set in step 424 above. Ifnot, an erroneous awakening trigger occurred and this condition may belogged as an error at step 410 as previously described. If, however, thetriggering event was an idle timer expiry, at step 412 the battery levelof power source 220 may be checked using conventional techniques with a“low” or “OK” battery status being thereby set at steps 414, 416 and 418as appropriate. Thereafter, at step 420, the resulting battery statusand any errors previously logged at step 410 may be transmitted to anassociated TV service decoder STB, e.g. 104. Upon completion of thetransmission, the error log is cleared at step 422, and the idle timerrestarted and microcontroller 200 returned to “stop” mode at step 424.

The actions performed by the STB programming of exemplary TV servicedecoder STB 104 in response to status transmissions from an associatedcontrolling device 100 will now be described in conjunction with FIG. 5.Upon receipt of a transmission from the controlling device at step 500,at step 502 the STB programming may first determine if the controllingdevice had previously been reported as absent, i.e., had notcommunicated with STB 104 within a required time interval as will bedescribed in further detail hereafter. If so, at steps 504 and 506 aninternal “controller absent status” may be cleared and the restorationof controlling device communication reported to media server head end110. Next, at step 508 the STB programming may determine if the receivedtransmission constitutes a command to perform an operational function.If so, at step 520 the requested function (e.g., tuning to a channel,selecting a menu item, etc.) may be performed, after which at step 526an interval timer is restarted and the operation is complete. As willbecome apparent, the purpose of the interval timer set at step 526 is todetect lack of timely status messages and/or other communications fromcontrolling device 100. Accordingly it will be appreciated that thisinterval should be somewhat longer than the controlling device idle timeset at step 424 of FIG. 4. By way of example without limitation, thetime out value for the timer step 526 may be selected to beapproximately three times that of the controlling device timer value setat step 424.

Returning to step 508, if the received message was not a commandfunction, at step 510 it may be next determined if the received messageconstituted a controlling device status message. If not, an undefined orcorrupted message may have been received and at step 524 this conditionmay be reported to media server head end 110 for action as appropriate.If, however, a valid controlling device status was received, then atsteps 512 through 518 any abnormal controlling device status may bereported to media server head end 110 for action as appropriate. By wayof example, a “low battery” or “controlling device error” report may beforwarded to the facility's maintenance or housekeeping staff for actionthe next time a room is serviced. Once any abnormalities have beenreported, the STB programming continues at step 526 to restart theinterval timer as described previously.

In the event the interval timer set at step 524 expires without anyintervening communication from controlling device 100, at steps 550, 552the STB programming may report a “controller absent” status to mediaserver head end 110, after which an internal (to STB 104) “controllerabsent” status may be set at step 554, for interrogation at step 502 aspreviously described.

Receipt of such a “controller” absent status by media server headend 110may result, for example without limitation, in display of a message on afront desk terminal 112 during guest checkout, posting of a voicemessage or TV display to the guest room querying status of thecontrolling device, transmission of a report to the facility maintenancedepartment, etc., or any combination thereof.

While various concepts have been described in detail, it will beappreciated by those skilled in the art that various modifications andalternatives to those concepts could be developed in light of theoverall teachings of the disclosure. For example, while described abovein terms of a hospitality industry controlling device, it will beappreciated that the techniques described herein may be successfullyapplied in other areas, for example to ensure that a controlling devicesupplied in conjunction with a home electronic appliance, personalcomputer, toy, etc., remains in the proximity of the device it isintended to control, etc.

Further, while described in the context of functional modules andillustrated using block diagram format, it is to be understood that,unless otherwise stated to the contrary, one or more of the describedfunctions and/or features may be integrated in a single physical deviceand/or a software module, or one or more functions and/or features maybe implemented in separate physical devices or software modules. It willalso be appreciated that a detailed discussion of the actualimplementation of each module is not necessary for an enablingunderstanding of the invention. Rather, the actual implementation ofsuch modules would be well within the routine skill of an engineer,given the disclosure herein of the attributes, functionality, andinter-relationship of the various functional modules in the system.Therefore, a person skilled in the art, applying ordinary skill, will beable to practice the invention set forth in the claims without undueexperimentation. It will be additionally appreciated that the particularconcepts disclosed are meant to be illustrative only and not limiting asto the scope of the invention which is to be given the full breadth ofthe appended claims and any equivalents thereof.

All patents cited within this document are hereby incorporated byreference in their entirety.

What is claimed is:
 1. A method for using a controlling device to reporta battery status condition, comprising: starting a timer of thecontrolling device to measure a time interval having a predeterminedduration; upon expiration of the predetermined duration without anintervening activation of a command key of the controlling device whichcauses the controlling device to transmit a command communication to acontrollable appliance, causing the controlling device to determine astatus condition associated with a battery of the controlling device andto transmit to the controllable appliance a signal having dataindicative of the determined status condition associated with thebattery of the controlling device; and in response to transmitting thesignal, causing the timer of the controlling device to restart to againmeasure the time interval having the predetermined duration.
 2. Themethod as recited in claim 1, further comprising determining by thecontrolling device an error condition associated with the controllingdevice and wherein the signal further has data indicative of thedetermined error condition associated with the controlling device. 3.The method as recited in claim 1, wherein the controllable appliance hasa timer to measure a second time interval having a predetermined secondduration, the predetermined second duration is longer than thepredetermined duration, and the controllable appliance transmits areport to a central location that the controlling device is in an errorstate in response to the signal having data indicative of a bad statuscondition associated with the battery of the controlling device or inresponse to the controllable appliance not receiving the signal beforeexpiration of the second duration.
 4. The method as recited in claim 3,wherein the controllable appliance comprises a set top box.
 5. Themethod as recited in claim 1, further comprising causing the timer ofthe controlling device to restart to again measure the time intervalhaving the predetermined duration in response to an interveningactivation of a command key of the controlling device which causes thecontrolling device to transmit a command communication to a controllableappliance.